package com.mbc.mapper;


import com.mbc.dto.StrayAnimalInformationDTO;
import com.mbc.vo.StrayAnimalInformationVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDateTime;

/**
 * <p>
 * 云助流量动物信息 Mapper 接口
 * </p>
 *
 * @author suimeng
 * @since 2024-06-06
 */

@Mapper
public interface StrayAnimalInformationMapper {
    /**
     * 获取max动物id
     *
     * @return {@link Integer }
     */
    @Select("select max(animal_id) from mbc_stray_animal_information")
    Integer getByMaxAnimalId();

    /**
     * 按最大标签 ID 获取
     *
     * @return {@link Integer }
     */
    @Select("select max(labels_id) from mbc_stray_animal_information")
    Integer getByMaxLabelsId();

    /**
     * 插入动物信息
     *
     * @param userId         用户 ID
     * @param now            现在
     * @param informationDTO 信息 DTO
     * @return int
     */
    int insertAnimalInformation(Integer userId, LocalDateTime now ,StrayAnimalInformationDTO informationDTO);

    /**
     * 查询动物信息
     *
     * @param animalId 动物 ID
     * @return {@link StrayAnimalInformationVO }
     */
    StrayAnimalInformationVO selectAnimalInformation(Integer animalId);

    /**
     * 删除动物信息
     *
     * @param animalId 动物 ID
     * @return int
     */
    int deleteAnimalInformation(Integer animalId);

    /**
     * 更新动物信息
     *
     * @param animalId             动物 ID
     * @param animalInformationDTO 动物信息DTO
     * @return int
     */
    int updateAnimalInformation(Integer animalId, StrayAnimalInformationDTO animalInformationDTO);
}
